package com.class1;

import java.math.BigInteger;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 * 题目1：测试“日期推算”程序有一个“日期推算”程序，该程序的功能是输入一个日期，
 * 输出该日期后天的日期，例如输入2013年1月1日，则输出2013年1月3日。现在假设
 * “日期推算”程序已经被开发出来了，请对该软件的可执行程序进行功能测试，要求用
 * 尽可能少的测试用例检测出尽可能多的软件缺陷。
 */
public class testGetTheDayAfterTomorrow {
    public static void main(String[] args) throws ParseException {
//        String birth = "2021-05-30";
        Scanner in = new Scanner(System.in);

        String birth = in.nextLine();
        SimpleDateFormat si = new SimpleDateFormat("yyyy-MM-dd");

        Date bithDate = si.parse(birth);
        System.out.println(bithDate);

        long times = 2*24*60*60*1000;
//        java.sql.Date sqlBirth = new java.sql.Date(bithDate.getTime()+times);
//        System.out.println(sqlBirth);
        Date Birth2 = new Date(bithDate.getTime()+times);
        System.out.println(Birth2);

        /**
         * 输入值：2021-02-28
         * 输出结果：Sun Feb 28 00:00:00 CST 2021
         * 测试输出结果似乎有错，但是实际上是由于输出的语句写错了，
         * 本来应输出Birth2，但是输出了bithDate,输出的是转换之
         * 前的值，没有输出两天之后的日期。
         */

        /**
         * 2021-02-28
         * Sun Feb 28 00:00:00 CST 2021
         * Tue Mar 02 00:00:00 CST 2021
         * 这次输出结果正常了
         */
//        System.out.println(bithDate);
    }
}
